java.time প্যাকেজটি Java 8 থেকে পরিচিত এবং এটি তারিখ, সময় এবং সময় অঞ্চলের সাথে সম্পর্কিত কাজ সহজভাবে করার জন্য আধুনিক API প্রদান করে। এর মধ্যে LocalDate, LocalTime, এবং ZonedDateTime ক্লাসগুলি বেশ গুরুত্বপূর্ণ, কারণ এগুলি আপনার কাজের সময় এবং তারিখ সম্পর্কিত বিভিন্ন কাজ করতে সাহায্য করে। এই ক্লাসগুলোকে আপনি ফরম্যাটিং এবং পার্সিং করতে পারেন যেভাবে আপনি চান, যাতে ব্যবহারকারীর জন্য সহজ এবং মানব-পঠনযোগ্য ফরম্যাট তৈরি করা যায়।
LocalDate, LocalTime, এবং ZonedDateTime ফরম্যাটিং:
Java তে ফরম্যাটিং করার জন্য DateTimeFormatter ক্লাসটি ব্যবহৃত হয়। এই ক্লাসটি আপনার তারিখ এবং সময়ের অবজেক্টকে স্ট্রিং এ রূপান্তরিত (format) এবং স্ট্রিং থেকে তারিখ বা সময় অবজেক্টে রূপান্তরিত (parse) করতে সাহায্য করে।
1. LocalDate ফরম্যাটিং:
LocalDate শুধু তারিখ (দিন, মাস, বছর) ধারণ করে এবং এটি সময় সম্পর্কিত কোনো তথ্য ধারণ করে না।
LocalDate ফরম্যাটিং উদাহরণ:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateFormattingExample {
public static void main(String[] args) {
// Create a LocalDate object
LocalDate date = LocalDate.now(); // Current date
// Define a custom date format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
// Format the date to a string
String formattedDate = date.format(formatter);
System.out.println("Formatted LocalDate: " + formattedDate); // Example: 23/12/2024
}
}
ব্যাখ্যা:
DateTimeFormatter.ofPattern("dd/MM/yyyy"): এখানে"dd/MM/yyyy"হল কাস্টম ফরম্যাট, যেখানেddদিন,MMমাস, এবংyyyyবছর নির্দেশ করে।date.format(formatter):LocalDateঅবজেক্টটিকে ফরম্যাট করে স্ট্রিং রূপে রূপান্তরিত করা হচ্ছে।
আউটপুট:
Formatted LocalDate: 23/12/2024
2. LocalTime ফরম্যাটিং:
LocalTime ক্লাসটি সময় (ঘণ্টা, মিনিট, সেকেন্ড, ন্যানোসেকেন্ড) ধারণ করে, তবে এটি তারিখ বা সময় অঞ্চল সম্পর্কিত কোনো তথ্য ধারণ করে না।
LocalTime ফরম্যাটিং উদাহরণ:
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class LocalTimeFormattingExample {
public static void main(String[] args) {
// Create a LocalTime object
LocalTime time = LocalTime.now(); // Current time
// Define a custom time format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// Format the time to a string
String formattedTime = time.format(formatter);
System.out.println("Formatted LocalTime: " + formattedTime); // Example: 14:35:20
}
}
ব্যাখ্যা:
DateTimeFormatter.ofPattern("HH:mm:ss"):"HH:mm:ss"কাস্টম ফরম্যাট যেখানেHHঘণ্টা (২৪ ঘণ্টা ফরম্যাটে),mmমিনিট, এবংssসেকেন্ড।time.format(formatter):LocalTimeঅবজেক্টটিকে স্ট্রিং রূপে রূপান্তরিত করা হচ্ছে।
আউটপুট:
Formatted LocalTime: 14:35:20
3. ZonedDateTime ফরম্যাটিং:
ZonedDateTime ক্লাসটি তারিখ, সময় এবং সময় অঞ্চল সম্পর্কিত তথ্য ধারণ করে। এটি নির্দিষ্ট সময় অঞ্চলে বর্তমান সময়ের স্ট্রিং তৈরি করতে ব্যবহৃত হয়।
ZonedDateTime ফরম্যাটিং উদাহরণ:
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneId;
public class ZonedDateTimeFormattingExample {
public static void main(String[] args) {
// Create a ZonedDateTime object for a specific time zone
ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("Asia/Kolkata"));
// Define a custom date-time format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
// Format the ZonedDateTime to a string
String formattedDateTime = zonedDateTime.format(formatter);
System.out.println("Formatted ZonedDateTime: " + formattedDateTime); // Example: 2024-12-23 14:35:20 IST
}
}
ব্যাখ্যা:
ZoneId.of("Asia/Kolkata"): এটি Asia/Kolkata টাইম জোনের জন্য বর্তমান সময় সেট করে।DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z"): এখানে"yyyy-MM-dd HH:mm:ss z"কাস্টম ফরম্যাটে ফরম্যাটিং করা হচ্ছে, যেখানেzসময় অঞ্চল প্রতিনিধিত্ব করে।
আউটপুট:
Formatted ZonedDateTime: 2024-12-23 14:35:20 IST
4. ZonedDateTime Parse থেকে DateTime Format Conversion:
এখন আপনি যদি একটি স্ট্রিং থেকে ZonedDateTime তৈরি করতে চান এবং সেটা অন্য ফরম্যাটে রূপান্তর করতে চান, তাহলে আপনি DateTimeFormatter.parse() এবং ZonedDateTime.format() ব্যবহার করতে পারেন।
ZonedDateTime Parse থেকে DateTime Format Conversion উদাহরণ:
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneId;
public class ZonedDateTimeParseExample {
public static void main(String[] args) {
// Define a date-time string with a specific format
String dateTimeString = "2024-12-23 14:35:20 IST";
// Define the formatter with the same pattern as the string
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
// Parse the string to ZonedDateTime
ZonedDateTime parsedDateTime = ZonedDateTime.parse(dateTimeString, formatter);
System.out.println("Parsed ZonedDateTime: " + parsedDateTime);
// Convert parsed ZonedDateTime to a different format
DateTimeFormatter newFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss z");
String formattedDateTime = parsedDateTime.format(newFormatter);
System.out.println("Formatted ZonedDateTime: " + formattedDateTime);
}
}
আউটপুট:
Parsed ZonedDateTime: 2024-12-23T14:35:20+05:30[Asia/Kolkata]
Formatted ZonedDateTime: 23/12/2024 14:35:20 IST
LocalDate,LocalTime, এবংZonedDateTimeক্লাসগুলো Java 8 এর একটি শক্তিশালী অংশ যা সময় এবং তারিখ সম্পর্কিত কার্যক্রমের জন্য ব্যবহৃত হয়।DateTimeFormatterব্যবহার করে আপনি সহজেই ফরম্যাটিং এবং পার্সিং করতে পারেন।ZonedDateTimeএর মাধ্যমে সময় অঞ্চল সম্পর্কিত তারিখ এবং সময়কে ভালোভাবে পরিচালনা করা যায় এবং এটি ISO 8601 ফরম্যাট অনুসরণ করে।- এই ফরম্যাটিং সুবিধা আপনাকে বিশ্বের বিভিন্ন টাইম জোনে সময় সম্পর্কিত কাজ সহজে করতে সাহায্য করবে।
Read more